[−][src]Crate sdl2
Getting started
extern crate sdl2; use sdl2::pixels::Color; use sdl2::event::Event; use sdl2::keyboard::Keycode; use std::time::Duration; pub fn main() { let sdl_context = sdl2::init().unwrap(); let video_subsystem = sdl_context.video().unwrap(); let window = video_subsystem.window("rust-sdl2 demo", 800, 600) .position_centered() .build() .unwrap(); let mut canvas = window.into_canvas().build().unwrap(); canvas.set_draw_color(Color::RGB(0, 255, 255)); canvas.clear(); canvas.present(); let mut event_pump = sdl_context.event_pump().unwrap(); let mut i = 0; 'running: loop { i = (i + 1) % 255; canvas.set_draw_color(Color::RGB(i, 64, 255 - i)); canvas.clear(); for event in event_pump.poll_iter() { match event { Event::Quit {..} | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => { break 'running }, _ => {} } } // The rest of the game loop goes here... canvas.present(); ::std::thread::sleep(Duration::new(0, 1_000_000_000u32 / 60)); } }
Re-exports
pub extern crate libc; |
pub extern crate sdl2_sys as sys; |
Modules
audio | Audio Functions |
clipboard | |
controller | |
cpuinfo | |
event | Event Handling |
filesystem | |
gesture | |
haptic | Haptic Functions |
hint | |
joystick | |
keyboard | |
log | |
macros | |
messagebox | |
mouse | |
pixels | |
rect | Rectangles and points. |
render | 2D accelerated rendering |
rwops | |
surface | |
timer | |
touch | |
version | Querying SDL Version |
video |
Structs
AudioSubsystem | |
EventPump | A thread-safe type that encapsulates SDL event-pumping functions. |
EventSubsystem | |
GameControllerSubsystem | |
HapticSubsystem | |
JoystickSubsystem | |
Sdl | The SDL context type. Initialize with |
TimerSubsystem | |
VideoSubsystem |
Enums
Error | |
IntegerOrSdlError | A given integer was so big that its representation as a C integer would be negative. |
Functions
clear_error | |
get_error | |
get_platform | Get platform name |
init | Initializes the SDL library. This must be called before using any other SDL function. |
set_error | |
set_error_from_code |